package config;

// import cn.itcast.pojo.Country;
// import cn.itcast.pojo.Province;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class CommonConfig {
    // @ConditionalOnProperty(prefix = "country", name = {"name","system"})
//     @Bean
//     public Country country(@Value("${country.name}") String name,@Value("${country.system}") String system) {
//         // Country country = new Country();
//         country.setName(name);
//         country.setSystem(system);
//         return country;
//     }

//     // 对象默认的名字是方法名
//     // @Bean("aaa") 可以给注入Bean取别名
//     // 如果方法的内部需要使用ioc容器中已经存在的Bean对象, 那么只需要在方法上声明即可, spring会自动引入
//     //    public Province province(Country country) {
//     //        System.out.println(country);
//     //        return new Province();
//     //    }
//     // ConditionalOnMissingBean: 如果Ioc容器中不存在 Country 则注入Province, 否则不注入
//     // 如果当前环境中有 DispatcherServlet 类, 则注入 Province, 否则不注入
//     // 如果当前环境中引入了 web 起步依赖, 则环境中有 DispatcherServlet,否则没有
//     @Bean
//    //  @ConditionalOnMissingBean(Country.class)
//     @ConditionalOnClass(name="org.springframework.web.servlet.DispatcherServlet")
//     public Province province() {
//         return new Province();
//     }
}
